#coding:utf-8

# 方法1：import引入，只能引入模块，不能直接引入变量或者函数
# import PythonFiles.Python1
# print(PythonFiles.Python1.a) ##打印aaa

#改进：由于多层包嵌套后引入名会过长，所以可以为其重命名
# import PythonFiles.Python1 as PythonFile
# print(PythonFile.b)  ##打印bbb



#方法2：from引入，可以引入模块或者变量函数
#2.1:只引入变量
# from PythonFiles.Python1 import a
# print(a)   #打印aaa
# print(b)   #报错


#2.2:只引入模块
# from PythonFiles import Python1
# print(Python1.a)
# print(Python1.b)
# print(Python1.c)


#2.3:一次引入所有目标模块下的所有内容
# from PythonFiles.Python1 import *
# print(a)
# print(b)
# print(c)

#2.4:被导入文件限制可以被引入的内容
# from PythonFiles.Python2 import *
# print(num1)
# print(num2) #报错，num2 not defined

#2.5引入多个变量需要换行的问题
#第一种换行
# from PythonFiles.Python1 import a ,b, \
# c 
# print(c)

#第二种换行
from PythonFiles.Python1 import (a ,b,
c)
print(c)


#__init__.py文件应用
'''
__init__.py文件存在包的根目录下，当这个包或者包中的任意模块被导入的时候，__init__.py中内容会首先自动被执行。
'''
#import PythonFiles
#from PythonFiles.Python1 import a 

#测试1：__all__
# from PythonFiles import *
# print(Python1.a)
# print(Python2.num1) #报错

#测试批量导入
import PythonFiles
print(PythonFiles.sys.path)



